/// 用户图片上传响应模型
class UserImageUploadResponse {
  final String status;
  final String message;
  final String? imageUrl;
  final Map<String, dynamic>? data;

  UserImageUploadResponse({
    required this.status,
    required this.message,
    this.imageUrl,
    this.data,
  });

  /// 从JSON创建实例
  factory UserImageUploadResponse.fromJson(Map<String, dynamic> json) {
    return UserImageUploadResponse(
      status: json['status'] ?? 'success', // 如果没有status字段，默认为success
      message: json['message'] ?? '上传成功',
      imageUrl: json['image_url'] ?? json['imageUrl'] ?? json['url'], // 兼容多种字段名
      data: json['data'] ?? json, // 如果没有data字段，使用整个json对象
    );
  }

  /// 转换为JSON
  Map<String, dynamic> toJson() {
    return {
      'status': status,
      'message': message,
      if (imageUrl != null) 'image_url': imageUrl,
      if (data != null) 'data': data,
    };
  }

  /// 判断是否成功
  bool get isSuccess => status == 'success';

  @override
  String toString() {
    return 'UserImageUploadResponse{status: $status, message: $message, imageUrl: $imageUrl}';
  }
}
